Ext.define('app.view.ViewportStock', {
	extend : 'Ext.container.Viewport',
	alias : 'widget.ViewportStock',
	layout : 'fit',// 不可缺，缺了行不显示内容
	requires : ['Ext.grid.Panel', 'Ext.grid.column.Check', 'Ext.grid.View',
			'Ext.toolbar.Toolbar', 'Ext.button.Button', 'Ext.toolbar.Paging'],
	tools : [{
				type : 'pin'
			}],
	layout : {
		type : 'border',
		padding : 5
	},
	items : [{
		region : 'west',
		width : 290,
		margins : '2 5 5 2',
		title : '查询条件',
		layout : 'form',
		split : true,
		collapsible : true,
		collapsed : true,
		floatable : false,
		name : 'fromWest',
		frame : true,
		items : [  {
					xtype : 'combo',
					id : 'stock_state',
					fieldLabel : '是否已出库:',
					store : new Ext.data.JsonStore({
								fields : ["value", "text"],
								data : [{
											value : 1,
											text : '是'
										}, {
											value : 0,
											text : '否'
										}, {
											value : '',
											text : '全部'
										}]
							}),
					value:'',
					displayField : 'text',
					valueField : 'value',
					typeAhead : true,
					mode : 'local',
					triggerAction : 'all',
					emptyText : '请选择...',
					selectOnFocus : true 
				},{
					xtype : 'textfield',
					name : 'box_mac',
					anchor : '90%',
					id:'box_mac',
					fieldLabel : 'MAC地址'
				} ,{
					xtype : 'textfield',
					name : 'box_number',
					anchor : '90%',
					id:'box_number',
					fieldLabel : '盒子编号'
				}],
		buttons : [{
					text : '查询',
					name : 'queryBu',
					handler : function() {
						this.ownerCt.ownerCt.ownerCt.items.items[3].store.load();
					}
				}, {
					text : '重置',
					handler : function() {
						this.ownerCt.ownerCt.items.items[0].setValue(null);
						this.ownerCt.ownerCt.items.items[1].setValue("");
						this.ownerCt.ownerCt.items.items[2].setValue("");
						this.ownerCt.ownerCt.items.items[3].setValue(null);
						//this.ownerCt.ownerCt.items.items[4].setValue(null);
					}
				}]

	}, {
		region : 'center',
		xtype : 'gridpanel',
		id:'StockGrid',
		store : 'Stocks',
		stripeRows : true,
		enableHdMenu:false,
		autoScroll : true,
		autoHeight : true,
		columns : [{
					text : "ID",
					dataIndex : 'id',
					sortable : true,
					hidden : true
				}, {
					text : "盒子编号",
					width:220,
					dataIndex : 'boxNumber',
					sortable : true
				}, {
					text : "MAC地址",
					dataIndex : 'boxMac',
					width:200,
					sortable : true ,
					renderer :function (value){
						var result = "";
						for(var i=0,len=value.length;i<len;i++){
						    result += value[i];
						    if(i % 2 == 1&&(i!=value.length-1)) result += ':';
						}
						return result;
					}
				}, {
					text : "分流线路",
					dataIndex : 'shuntType',
					sortable : true ,
					renderer : function(value) { 
						if(value==null){
							return "-";
						}else{
							return value.name;
						}
					}
				}, {
					text : "设备型号",
					dataIndex : 'modelType',
					sortable : true ,
					renderer : function(value) { 
						if(value==null){
							return "-";
						}else{
							return value.name;
						}
					}
				}, {
					text : "所属运营商",
					dataIndex : 'operator',
					sortable : true ,
					renderer : function(value) { 
						if(value==null){
							return "-";
						}else{
							return value.name;
						}
					}
				}, {
					text : "盒子类型",
					hidden : true,
					dataIndex : 'box_type',
					width:90,
					sortable : true 
				}, {
					text : "当前版本", 
					dataIndex : 'box_version',
					width:90,
					sortable : true 
				}, {
					text : "分销商/客户",
					dataIndex : 'distributor_name',
					sortable : true,
					width:210 
				}/*, {
					text : "分销商/客户",
					dataIndex : 'account',
					sortable : true,
					width:310,
					renderer :function (value, cellmeta, record) {
					 	if(value==null){
					 		return "";
					 	}else{
					 		if(value.distributor!=null){
					 			return value.distributor.name+"/"+value.name;
					 		}else{
					 			return value.name;
					 		}
					 	}
					}
				}*/, {
					text : "状态",
					dataIndex : 'resource',
					sortable : false,
					width:210,
					renderer :function (value, cellmeta, record) {
						if(value==null||value==0){//
							return "空闲";
						}else{
							if(record.get("box_version_update_id")&&record.get("box_version_update_id")>0&&!record.get("update_version_time")){
								return "待更新指定版本("+value.ip+"-"+value.port+")";
							}else if(record.get("new_resource_id")&&record.get("new_resource_id")>0&&!record.get("new_resource_time")){
								return "待获取新资源信息("+value.ip+"-"+value.port+")";
							}else if(record.get("update_server_id")&&record.get("update_server_id")>0&&!record.get("update_server_time")){
								return "待获取新服务器信息("+value.ip+"-"+value.port+")";
							}/*else if(record.get("init_time")){
								return "已出库("+value.ip+")";
							}*/else if(!record.get("init_time")){
								return "待第一次登陆已分配资源("+value.ip+"-"+value.port+")";
							}else{
								return "正在使用资源("+value.ip+"-"+value.port+")";
							}
						}
					}
				}, {
					text : "入库时间",
					dataIndex : 'stock_ru_time',
					width:190,
					sortable : true 
				}, {
					text : "出库时间",
					dataIndex : 'stock_chu_time',
					width:190,
					sortable : true 
				}/**/, {
					text : "到期时间",
					dataIndex : 'end_time',
					width:190,
					sortable : true 
				}, {
					text : "出库时间",
					dataIndex : 'init_time',
					width:190,
					sortable : true 
				}, {
					text : "版本更新时间",
					dataIndex : 'update_version_time',
					width:190,
					sortable : true 
				}, {
					text : "资源更新时间",
					dataIndex : 'new_resource_time',
					width:190,
					sortable : true 
				}, {
					text : "描述",
					dataIndex : 'mem',
					width:190,
					sortable : true 
				}],
		selModel : {
			selType : 'checkboxmodel',
			mode:'single'
		},
		viewConfig:{
			enableTextSelection:true
		},
		 
		dockedItems : [{
					xtype : 'toolbar',
					dock : 'top',
					items : [{
								xtype : 'button',
								name : 'add',
								icon:'../../../images/add.png',
								tooltip : '入库'
							},{
								xtype : 'button',
								name : 'edit',
								icon:'../images/edit.gif',
								tooltip : '更新盒子'
							},'-', {
								xtype : 'button',
								name : 'allot',
								icon:'../../images/label.gif',
								tooltip : '资源分配'
							}, '-',{
								xtype : 'button',
								name : 'allot_update',
								icon:'../../../images/label_edit.gif',
								tooltip : '资源重置'
							}, '-',{
								xtype : 'button',
								name : 'allot_del',
								icon:'../../../images/label_del.gif',
								tooltip : '资源回收'
							}, '-',{
								xtype : 'button',
								name : 'allots',
								icon:'../../../images/table.gif',
								tooltip : '批量资源重置'
							}, '-',{
								xtype : 'button',
								name : 'stock_chu',
								icon:'../../../images/basket_go.png',
								tooltip : '分配分销商出库'
							}, '-',{
								xtype : 'button',
								name : 'level_up',
								icon:'../../../images/level_up.gif',
								tooltip : '版本升级'
							}, '-',{
								xtype : 'button',
								name : 'serverUP',
								icon:'../../../images/server.png',
								tooltip : '指定服务器'
							},'-', {
								xtype : 'button',
								name : 'del',
								icon:'../../../images/delete.png',
								tooltip : '删除'
							}/*, '-',{//cog_edit.png 
								xtype : 'button',
								name : 'import',
								icon:'images/up.gif',
								tooltip : '批量入库'
							}*/]
				}, {
					xtype : 'pagingtoolbar',
					dock : 'bottom',
					displayInfo : true,
					store : 'Stocks',
					items : ['-', {
								xtype : 'label',
								text : '每页显示',
								style : 'margin-left:5px;margin-right:5px;'
							}, {
								xtype : 'combo',
								store : 'BbarComboBox',
								valueField : 'id',
								displayField : 'name',
								mode : 'local',
								triggerAction : 'all',
								fieldLabel : '',
								editable : false,
								width : 60,
								listeners : {
									"beforerender" : function(store, options) {
										this.value = 50;
									},
									"select" : function(combo, record, index) {
										if (combo.getValue() == 0) {
											this.ownerCt.ownerCt.store.pageSize = this.ownerCt.ownerCt.store
													.getTotalCount();
										} else {
											this.ownerCt.ownerCt.store.pageSize = combo
													.getValue();
										}

										this.ownerCt.ownerCt.store.load({
											params : {
												start : 0,
												limit : this.ownerCt.ownerCt.store.pageSize
											}
										});
									}
								}
							}, {
								xtype : 'label',
								text : '记录',
								style : 'margin-left:5px;'
							}]
				}]
	}]

});